package AccionBoton;

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.File;
import java.util.ResourceBundle;

import javax.swing.JDialog;
import javax.swing.JTextField;

import modelUtil.Configuracion;
import modelUtil.Util;
import fachadaPlantilla.delegate.PlantillaFacade;

import paginas.PaginaEntornoCreacion;
import plantilla.PlantillaTO;

public class AccionPulsarDuplicarTeclado implements KeyListener{

	private String _teclado;
	private JTextField _texto;
	private JDialog _ventana;
	private String _usuario;
	private PaginaEntornoCreacion _frame;
	
	public AccionPulsarDuplicarTeclado(String teclado,JTextField texto,JDialog ventana,AccionDuplicarTeclado user, PaginaEntornoCreacion frame){
		
		_teclado = teclado;
		_texto = texto;
		_ventana = ventana;
		_usuario = user.get_usuario().getUsuario();
		_frame = frame;
	}
	
	
	
	public void keyPressed(KeyEvent e) {
		// TODO Auto-generated method stub
		
	}

	public void keyReleased(KeyEvent e) {
		
		if (e.getKeyCode() == KeyEvent.VK_ENTER) {
			
			PlantillaFacade fachadaPlantilla = new PlantillaFacade();
			Configuracion.instancia().setTecladoActual(_teclado);
			PlantillaTO user = fachadaPlantilla.RecuperarPlantilla(Configuracion.instancia().getDirUsuarios()+_usuario+"//"+_teclado);
			PlantillaTO tmp = fachadaPlantilla.RecuperarPlantilla(Configuracion.instancia().getDirUsuarios()+_usuario+"//"+_teclado);
			if(user==null){
				Util.popup(0, ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_menu_duplicar_teclado_error"));
			}else{

			user.setNombrePlantilla(_texto.getText());
			Configuracion.instancia().setTecladoActual(user.getNombrePlantilla());
			fachadaPlantilla.GuardarPlantilla(null, Configuracion.instancia().getDirUsuarios()+_usuario+"//"+ user.getNombrePlantilla());
			fachadaPlantilla.GuardarPlantilla(user, Configuracion.instancia().getDirUsuarios()+_usuario+"//"+ user.getNombrePlantilla());
			_frame.getListModel2().addElement(user.getNombrePlantilla());
			
			try{
			Util.copyFiles(new File(Configuracion.instancia().getDirUsuarios()+_usuario+"//"+tmp.getNombrePlantilla()),new File(Configuracion.instancia().getDirUsuarios()+_usuario+"//"+Configuracion.instancia().getTecladoActual()), false);
			}catch(Exception a){
				
			}
			}
					_ventana.dispose();
			
		}

		
		// TODO Auto-generated method stub
		
	}

	public void keyTyped(KeyEvent e) {
		// TODO Auto-generated method stub
		
	}

}
